Skip to content

feat(bsp_graphics_lvgl): Created new component for BSP graphics (LVGL) and removed LVGL from BSP#774

Draft
espzav wants to merge 1 commit into
masterfrom
feat/split_bsp
Draft

feat(bsp_graphics_lvgl): Created new component for BSP graphics (LVGL) and removed LVGL from BSP#774
espzav wants to merge 1 commit into
masterfrom
feat/split_bsp

Conversation

@espzav
Copy link
Copy Markdown
Collaborator

@espzav espzav commented Apr 30, 2026

ESP-BSP Pull Request checklist

  • Version of modified component bumped
  • CI passing

Change description

Please describe your change here

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 30, 2026

Test Results

32 tests   32 ✅  1m 35s ⏱️
 6 suites   0 💤
 6 files     0 ❌

Results for commit 909e813.

♻️ This comment has been updated with latest results.

@espzav espzav force-pushed the feat/split_bsp branch 14 times, most recently from 4e17b45 to 6809fa5 Compare May 5, 2026 13:12
@espzav espzav force-pushed the feat/split_bsp branch from 6809fa5 to 909e813 Compare May 5, 2026 13:43
@espzav
Copy link
Copy Markdown
Collaborator Author

espzav commented May 5, 2026

Hi @tore-espressif, @igrr, @PetrESP, @georgik this is the proposal of the splitting BSP to noglib part + new component graphics (LVGL).

  • This is a working part without big breaking changes (need to add component to example/project if not using BSP Selector AND add header file)
  • Next step will be add new API and mark this as DEPRECATED. (I will make it in the same PR)
  • I tried it with CMake V2, it is not working now, because LVGL port has some issues with V2.

Please, could you look at it and give me some feedback?

Thank you!

@espzav espzav changed the title eat(bsp_graphics_lvgl): Created new component for BSP graphics (LVGL) and removed LVGL from BSP feat(bsp_graphics_lvgl): Created new component for BSP graphics (LVGL) and removed LVGL from BSP May 5, 2026
@tore-espressif tore-espressif self-requested a review May 18, 2026 07:59
/*******************************************************************************
* Private functions
*******************************************************************************/
static lv_display_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg)
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@espzav IIUC, this function should be 'generic' and working on all boards. However, it initializes DSI peripheral. Is there a plan to move the DSI specific part to the respective BSP?
Can we make this function more generic so it compile and run on all BSPs?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tore-espressif This function returns lv_display_t, this is type from LVGL. It initializes LVGL, it cannot be generic.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, it is tight to LVGL.

But, it also initializes DSI. This will not work on eg. ESP32-S3. Will we have several versions of this funciton? (eg. for DSI, SPI and i8080 backed displays?)

@georgik
Copy link
Copy Markdown
Contributor

georgik commented May 19, 2026

I was validating the concept.

  • bsp_selector for board selection in menuconfig definitely makes sense.
  • bsp_selector for the graphical library selection in menuconfig does not makes sense.

I recommend to remove the selection of NOGLIB and LVGL, because in the project you have a graphical library and they have different APIs, so it does not make sense to switch them in menuconfig, since each would handle graphics differently.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants